package 常用集合与排序;

import java.util.PriorityQueue;

/**
 * 优先队列
 */
public class PriorityQueueTest {

    public static void main(String[] args) {

        // 比较的依据，可以是map.get(o1)-map.get(o2)这种外部信息哟
        PriorityQueue<Integer> pq = new PriorityQueue<>((o1, o2) -> {
            return o1 - o2;
        });
        pq.add(1);
        pq.add(4);
        pq.add(3);
        pq.add(5);
        pq.add(2);

        pq.remove(2);//可以移除指定元素哟
        int len = pq.size();
        for (int i = 0; i < len; i++) {
            System.out.println(pq.poll());
        }


    }

}
